package com.mlog.njyjy.ndop.process.admin.service;

import com.mlog.njyjy.ndop.common.domain.Node;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author zyz
 * @version v1.0, 2020/8/19
 */
public interface NodeService {

    /**
     * 列出指定节点组的所有节点
     *
     * @param groupId
     * @return
     */
    List<Node> listByGroup(Long groupId);

    /**
     * 保存节点 新增或者修改
     *
     * @param node
     * @return
     */
    boolean save(Node node);

    /**
     * 删除单个节点
     *
     * @param id
     * @return
     */
    boolean delete(Long id);

    /**
     * 批量删除节点
     *
     * @param ids
     * @return
     */
    boolean deleteBatch(String ids);

    /**
     * 导出节点配置文件
     *
     * @return
     */
    byte[] exportFile(Long groupId);

    /**
     * 导入节点配置文件
     *
     * @return
     */
    boolean importFile(MultipartFile file, Long groupId) throws IOException;

    /**
     * 更换组
     *
     * @param groupId
     * @param nodeIds
     * @return
     */
    boolean changeGroup(Long groupId, String nodeIds);

    /**
     * 复制节点
     *
     * @param nodeId
     * @param name
     * @return
     */
    boolean copyNode(Long nodeId, String name);
}
